home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / taropyon / silib / silib.lzh / PRG / SDKFS / SDKFS.C < prev    next >
C/C++ Source or Header  |  1994-05-18  |  3KB  |  156 lines

  1. /*************************************************************************
  2. *    SDKFS : Sidework file selector ver.2.01a
  3. *                                        with system ügPirdeühversion III
  4. *-------------------------------------------------------------------------
  5. *************************************************************************/
  6.  
  7. #include    <stdio.h>
  8. #include    <stdlib.h>
  9. #include    <string.h>
  10. #include    <fmcfrb.h>
  11. #include    <sidework.h>
  12.  
  13. #include    <egb.h>
  14. #include    <mos.h>
  15. #include    <kkstr2.h>
  16.  
  17. #include    <siapl.h>
  18. #include    <silib.h>
  19. #include    <sisdk.h>
  20. #include    <sifs.h>
  21. #include    "sdkfs.h"
  22. #include    "sdkfscf.h"
  23.  
  24. static int        FlgDirSave = FALSE;
  25. static char        set24 = FALSE;
  26.  
  27. static int    init(void)
  28. {
  29.     int        scnmd = 12, pageMos = 0, pageKb = 0;
  30.  
  31.     if ( SDK_init() )
  32.         return (ERR);
  33.     SI_init();
  34.  
  35.     KB_initSet(pageKb,KAN_ROUMAZIOFF);
  36.     if ( SCN_init(scnmd) )
  37.         return (ERR);
  38.     switch ( SiScn->layerCrt->pixel )
  39.     {
  40.         case 4:
  41.             C_LGRAY  = 5;
  42.             C_MBLACK = 1;
  43.             break;
  44.  
  45.         case 8:
  46.             C_LGRAY  = 17;
  47.             C_MBLACK =  0;
  48.             break;
  49.     }
  50.     SCN_setSysPalette();
  51.     pageMos = SiScn->pgWrt;
  52.     if ( FlgSdkOn )
  53.         pageKb = pageMos = SiScn->pgWrt;
  54.     else
  55.     {
  56.         SI_set24h();
  57.         SI_setCtrlC();
  58.         set24 = TRUE;
  59.     }
  60.     
  61.  
  62.     FTS_init();
  63. //    if ( FTS_fnt16x16_init() == NORMAL )    SiFts->ftsSt2 = Fnt16x16;
  64. //    if ( FTS_fnt16x12_init() == NORMAL )    SiFts->ftsSl2 = Fnt16x12;
  65. //    if ( FTS_fnt16x08_init() == NORMAL )    SiFts->ftsSh2 = Fnt16x08;
  66. //    if ( FTS_fnt12x12_init() == NORMAL )    SiFts->ftsSs2 = Fnt12x12;
  67.     PD_init(0,pageMos);    /* â|âCâôâeâBâôâOâfâoâCâXâëâCâuâëâè    */
  68.     KB_init(pageKb,0);    /* âLü[â{ü[âhâëâCâuâëâè                */
  69.     KB_kanDsp(0);
  70.     EV_init();            /* âCâxâôâgâëâCâuâëâè                */
  71.  
  72.     return (NORMAL);
  73. }
  74.  
  75. static void term(void)
  76. {
  77.     if ( set24 )
  78.         SI_reset24h();
  79.     EV_term();
  80.     PD_term();
  81.     KB_term();
  82. //    FTS_fnt16x12_term();
  83. //    FTS_fnt16x16_term();
  84.     FTS_term();
  85.     SCN_sysTerm();
  86.     SI_term();
  87.     SDK_term();
  88. }
  89.  
  90. int        main(int argc, char **argv)
  91. {
  92.     FILESEL_T    *fs;
  93.     int            ret = 1;
  94.     char        *fn, *wild = NULL;
  95.     char        *dirSave;
  96.  
  97.     if ( init() )
  98.         goto _RET;
  99.  
  100.     {
  101.         int        i;
  102.  
  103.         for ( i = 1; i < argc; ++i )
  104.         {
  105.             char    *s;
  106.             s = argv[i];
  107.             if ( *s == '/' || *s == '-' )
  108.             {
  109.                 ++s;
  110.                 if ( strcmpi(s,"d") == 0 )
  111.                     FlgDirSave = TRUE;
  112.                 ++s;
  113.             } else if ( wild == NULL )
  114.                 wild = s;
  115.         }
  116.         
  117.     }
  118.  
  119.     {    /* âüâéâèâ`âFâbâN    */
  120.         char    *ptr;
  121.         LAYER_T    *ly = SiScn->layerCrt;
  122.  
  123.         if ( (ptr = SI_MALLOC( 4096 + (FSDLG_XS * ly->pixel/8) * FSDLG_YS)) == NULL )
  124.             goto _RET;
  125.         SI_FREE(ptr);
  126.     }
  127.  
  128.     if ( FlgDirSave )
  129.         dirSave = FS_pushDir();
  130.  
  131.     if ( (fs = FileSel_open()) != NULL )
  132.     {
  133.  
  134.         FileSel_setTitle( fs, "SDKFS ver.%s", _SDKFS_VER );
  135.  
  136.         if ( wild )
  137.             FileSel_setWild( fs, wild );
  138.         if ( FileSel_start(fs) == NORMAL )
  139.         {    /* É│ÅφÅIù╣    */
  140.             fn = FileSel_getFn( fs );
  141.             ret = 0;
  142.             if ( FlgSdkOn )
  143.             {    /* âLü[âoâbâtâ@é╓é╠ò╢ÄÜù±üiâtâ@âCâïû╝üjô]æù    */
  144.                 FS_dosFn( fn, fn );
  145.                 sdk_setKBuf( fn );
  146.             }
  147.         }
  148.         FileSel_close(fs);
  149.     }
  150.     if ( FlgDirSave )
  151.         FS_popDir(dirSave);
  152. _RET:
  153.     term();
  154.     return (ret);
  155. }
  156.